package entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
/**
 * <p>
 * 
 * </p>
 *
 * @author syf
 * @since 2025-06-08
 */
@Getter
@Setter
@ToString
@TableName("c_clockrule")
public class Clockrule implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID（自增）
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 所属部门ID（关联department表id，NULL表示全局规则）
     */
    private Long departmentId;

    /**
     * 上班时间（格式：HH:MM:SS，如09:00:00）
     */
    private LocalTime startTime;

    /**
     * 下班时间（格式：HH:MM:SS，如18:00:00）
     */
    private LocalTime endTime;

    /**
     * 迟到宽限期（分钟，允许迟到不超过该分钟数仍算正常）
     */
    private Byte lateTolerance;

    /**
     * 早退宽限期（分钟，允许早退不超过该分钟数仍算正常）
     */
    private Byte earlyLeaveTolerance;

    /**
     * 规则生效开始日期（NULL表示长期有效）
     */
    private LocalDate startDate;

    /**
     * 规则生效结束日期（NULL表示长期有效）
     */
    private LocalDate endDate;

    /**
     * 逻辑删除标记：0=未删除，1=已删除（软删除）
     */
    private Byte isDeleted;

    /**
     * 创建时间（自动填充）
     */
    private LocalDateTime createTime;

    /**
     * 更新时间（自动填充）
     */
    private LocalDateTime updateTime;
}
